package com.example.service;

import com.example.domain.ResponseResult;
import com.example.domain.entity.User;
import com.example.domain.vo.SystemVo;

/**
 * @author hlc
 * @version 1.0
 * @date 2022/10/14 13:32
 */
public interface SystemService {
    /**
     * 登录
     * @param user 用户登录信息
     * @return ResponseResult<SystemVo>
     */
    ResponseResult<SystemVo> login(User user);

    /**
     * 注册
     * @param user 用户注册信息
     * @return ResponseResult<SystemVo>
     */
    ResponseResult<?> register(User user);

    /**
     * 发送验证码
     * @param user  用户注册信息

     * @return ResponseResult<?>
     */
    ResponseResult<?> sendRegisterCode(User user);

    /**
     * 忘记密码，修改密码
     * @param user 用户信息
     * @return ResponseResult<?>
     */
    ResponseResult<?> forget(User user);

    /**
     * 忘记密码，校验身份发送验证码
     * @param user 用户信息
     * @return ResponseResult<?>
     */
    ResponseResult<?> sendCheckCode(User user);
}
